package com.sise.cn.api.common.po;

import com.sise.cn.dao.annotation.IgnoreField;
import com.sise.cn.dao.annotation.UniqueIndex;
import com.sise.cn.dao.base.TableSpace;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author 龚秀峰
 * @version 1.0
 * @date 2020/6/10 7:28
 * 订单持久化类
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class Order extends TableSpace implements Serializable {

    /**
     * 订单号(UUID)
     */
    @UniqueIndex
    private String orderCode;

    /**
     * 订单状态
     */
    private String orderStatus;

    /**
     * 订单总价
     */
    private BigDecimal orderTotal;

    /**
     * 订单关联的项目ID
     */
    private Long appId;

    /**
     * 下单的用户ID
     */
    private Long userId;

    /**
     * 收货人ID，如果是客户下单，则下单人ID与收货人ID相同
     */
    private Long receiverId;

    /**
     * 审核订单的用户ID
     */
    private Long verifyUserId;

    /**
     * 关联的快递单ID
     */
    private Long courierId;

    /**
     * 关联的订单项列表
     */
    @IgnoreField
    private List<Long> orderItemIds;
}
